"""
运动记录表
"""

from app.db import db


class SportsRecord(db.Model):
    # 定义表名
    __tablename__ = 'sports_record'
    # 定义字段
    id = db.Column(db.Integer, primary_key=True)
    # 运动类型id
    sports_type_id = db.Column(db.Integer, db.ForeignKey('sports_cate.id'))
    # 运动描述
    sports_desc = db.Column(db.String(255))
    # 运动时间
    sports_time = db.Column(db.DateTime)
    # 消耗卡路里
    calorie = db.Column(db.Float)

    def to_dict(self):
        """将模型实例转换为字典，方便后续处理（如转换为DataFrame或JSON）"""
        base_dict = {c.name: getattr(self, c.name, None) for c in self.__table__.columns}
        # 单独处理日期字段：格式化 charger_date 为 年月日
        if base_dict.get('date'):
            # 格式1：2025-09-01（推荐，符合ISO标准，前端易处理）
            base_dict['date'] = base_dict['date'].strftime('%Y-%m-%d')
        return base_dict